/*
题目：编写一个程序，持续输入多行长串字符串，统计这些字符串中每个出现过的字母出现
的次数(区分大小写，按照字母表顺序，大写在前，小写在后输出)。
输入格式：
输入一篇英文文章（长度不超过 100 个字符，包括空格回车），当按 Ctrl+D(windows
下应该是 Ctrl+Z)结束输入。
输出格式：
输出每个字母 c 以及对应的次数 n，格式为 c1:n1 c2:n2 ... (区分大小写，按照字母
出现的先后顺序排列)。
输入样例：
I love you, China.
wish you Best Luck, bunny!
输出样例：
B:1 C:1 I:1 L:1 a:1 b:1 c:1 e:2 h:2 i:2 k:1 l:1 n:3 o:3 s:2 t:1 u:4
v:1 w:1 y:3
*/
#include <stdio.h>  
#include <ctype.h>  
#include <string.h>  
  
#define MAX_CHARS 256 
  
int main() {  
    char input[101];  
    int char_count[MAX_CHARS] = {0}; 
  
    while (fgets(input, sizeof(input), stdin) != NULL) {  
      
        input[strcspn(input, "\n")] = 0;  
  
      
        for (int i = 0; input[i] != '\0'; i++) {  
            if (isalpha(input[i])) { 
                char_count[(unsigned char)input[i]]++;  
            }  
        }  
    }  
  
    for (char c = 'A'; c <= 'Z'; c++) {  
        if (char_count[(unsigned char)c] > 0) {  
            printf("%c:%d ", c, char_count[(unsigned char)c]);  
        }  
    }  
    for (char c = 'a'; c <= 'z'; c++) {  
        if (char_count[(unsigned char)c] > 0) {  
            printf("%c:%d ", c, char_count[(unsigned char)c]);  
        }  
    }  
  
    return 0;  
}